/* Copyright 2014 Huawei Technologies Co., Ltd. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */

/***********************/
/*        Layout       */
/***********************/

.cursor{
  cursor:pointer;
}
.cursor-default{
  cursor:default;
}
.sidebar{
  position: fixed;
  z-index: 0;
  left: 0;
  top: 0;
  bottom: 0;
  width: $sidebar-width;
  background-color: $sidebar-bg-color;
  color: $sidebar-color;

  .slimScrollBar{
    @include border-radius(0 !important);
    background-color: $sidebar-color !important;
  }
}

.page-controls, .content-wrap, .loader-wrap{
  left: $sidebar-width;
  @include transition(left $sidebar-transition-time ease-in-out);

  @media (min-width: $screen-sm-min) {
    margin-left: $sidebar-icon-state-width;
    left: $sidebar-width - $sidebar-icon-state-width;
  }

  .nav-collapsed &{
    left: 0
  }

  .nav-static & {
    @media (min-width: $screen-md-min) {
      @include transition(none);
      left: 0;
      margin-left: $sidebar-width;
    }
  }
}

.page-controls{
  @include transition(
          left $sidebar-transition-time ease-in-out,
          right $sidebar-transition-time ease-in-out
  );
  right: -$sidebar-width;

  .nav-collapsed &{
    right: 0
  }

  .nav-static & {
    @media (min-width: $screen-md-min) {
      right: 0;
    }
  }
}

.page-controls{
  position: absolute;
  z-index: 1;

  @media (max-width: $screen-xs-max) {
    font-size: 16px;

    .navbar-brand{
      position: absolute;
      left: 0;
      right: 0;
      font-weight: $font-weight-bold;
      text-align: center;

      > .fa-circle{
        font-size: 10px;
      }
    }

    .navbar-nav{
      position: relative;
      z-index: 1;
    }
  }

  .avatar{
    width: 30px;
    margin-top: -5px;
    &.pull-left{
      margin-right: 5px;
    }
    &.pull-right{
      margin-left: 5px;
    }
  }

  .navbar-nav > li > a {
    .rounded.rounded-lg,
    .circle.circle.lg{
      margin: -7px -7px -8px;
    }
  }

  .navbar-form.navbar-left{
    @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
      padding-right: 0;
    }
  }
  .navbar-nav .fa-times{
    font-size: 20px;
    vertical-align: -2px;
  }
}

/* ff icons valign fix */
@-moz-document url-prefix() {
  .page-controls .navbar-nav > li > a > .rounded-lg > i{
    vertical-align: -8%;
  }
}

.content-wrap{
  position: relative;
  z-index: 0;
  height: 100%;
}

.content{
  min-height: 100%;
  padding: $content-padding-top $content-padding-horizontal $content-padding-vertical;
  background-color: $body-bg;

  @media (max-width: $screen-xs-max) {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.logo{
  margin: 10px 0 20px;
  height: $navbar-height;
  width: 100%;
  line-height: $navbar-height;
  text-align: center;
  vertical-align: middle;
  font-weight: $font-weight-bold;
  font-size: $font-size-large;

  @include transition(width .3s ease-in-out);
  a{
    color: $white;
    text-decoration: none;
  }

  .nav-collapsed &{
    width: $sidebar-icon-state-width;
  }

  .nav-static &{
    @media (min-width: $screen-md-min) {
      width: 100%;
      @include transition(none);
    }
  }
}

.sidebar-nav{
  padding: 10px 0;
  font-size: 14px;
  @media (min-width: $screen-md-min) and (min-height: $screen-md-height), (max-width: $screen-xs-max){
    font-size: 16px;
  }

  li a{
    display: block;
    color: $sidebar-color;
    text-decoration: none;

    .toggle{
      float: right;
      line-height: 18px;
      margin-right: $sidebar-padding-horizontal + $sidebar-slim-scroll-width;
      @include transition-transform(.35s ease);
    }

    &.collapsed .toggle{
      @include rotate(90deg);
    }

    .label{
      float: right;
      line-height: 15px;
      margin-top: 11px;
      margin-right: $sidebar-padding-horizontal + $sidebar-slim-scroll-width;
    }
  }

  > li > a{
    position: relative;
    border-top: 1px solid $sidebar-item-border-color;
    padding-left: 50px;
    line-height: 35px;

    &:hover{
      background-color: $sidebar-item-hover-bg-color;
    }

    @media (min-width: $screen-md-min) and (min-height: $screen-md-height), (max-width: $screen-xs-max){
      line-height: 44px;
    }

    .icon{
      display: block;
      position: absolute;
      top: 3px;
      left: $sidebar-padding-horizontal;
      width: 28px;
      height: 28px;
      line-height: 28px;
      text-align: center;

      @media (min-width: $screen-md-min) and (min-height: $screen-md-height), (max-width: $screen-xs-max){
        top: 8px;
      }

      .fa, .glyphicon{
        font-size: 16px;
        color: rgba($sidebar-color, .7);
      }

      .glyphicon{
        left: -1px;
      }

      //icons align
      .glyphicon-map-marker{
        top: 2px;
      }

      .glyphicon-th{
        top: 1px;
        left: 0;
      }

      .glyphicon-tree-conifer{
        left: 0;
      }

      .fa-envelope{
        position: relative;
        top: -1px;
      }

    }

    .toggle{
      line-height: 35px;
      @media (min-width: $screen-md-min) and (min-height: $screen-md-height), (max-width: $screen-xs-max){
        line-height: 44px;
      }
    }

  }

  > .open > a{
    background-color: lighten($sidebar-item-hover-bg-color, 2%);
  }

  > li:last-child > a{
    border-bottom: 1px solid $sidebar-item-border-color;
  }

  > .active > a{
    color: $sidebar-item-active-color;
    background-color: $sidebar-bg-color;

    .icon{
      border-radius: 50%;
      background-color: $sidebar-item-active-color;

      .fa, .glyphicon{
        color: $sidebar-bg-color;
      }
    }
  }

  /*
   * Sub menus
   */

  > li ul{
    padding: 0;
    font-size: 13px;
    background-color: lighten($sidebar-bg-color, 5%);
    list-style: none;

    @media (min-width: $screen-md-min) and (min-height: $screen-md-height), (max-width: $screen-xs-max){
      font-size: 14px;
    }

    > li{
      > a{
        padding: 5px 0 5px 40px;
        &:hover{
          background-color: lighten($sidebar-item-hover-bg-color, 5%);
        }
      }

      &.active{
        > a{
          font-weight: normal;
          color: $white;
        }
      }

      /* third submenu */
      ul > li > a{
        padding-left: 55px;
      }
    }
  }

  /*
  First sub-menu
   */
  > li > ul{
    /* simulate padding */
    &:before{
      content: "";
      display: block;
      padding-top: $line-height-computed/2;
    }

    &:after{
      content: "";
      display: block;
      padding-bottom: $line-height-computed/2;
    }
  }
}

.sidebar-nav-title{
  margin: 35px 0 5px $sidebar-padding-horizontal;
  font-size: 14px;
  text-transform: uppercase;

  opacity: 1;
  @include transition(opacity $sidebar-transition-time ease-in-out);

  .action-link{
    color: $sidebar-color;
    float: right;
    margin-right: $sidebar-padding-horizontal + $sidebar-slim-scroll-width;
    margin-top: -1px;

    .fa, .glyphicon{
      font-size: 9px;
    }
  }

  .nav-collapsed &{
    opacity: 0;
  }

  .nav-static &{
    @media (min-width: $screen-md-min) {
      opacity: 1;
      @include transition(none);
    }
  }
}

.sidebar-status{
  position: relative;
  margin: 10px 0 20px;
  padding: 0 ($sidebar-padding-horizontal + $sidebar-slim-scroll-width) 0 $sidebar-padding-horizontal;

  > a{
    display: block;
    line-height: 40px;
    color: $gray-lighter;
    text-decoration: none;
  }

  .dropdown-menu{
    position: fixed;
    top: 60px;
    margin: 0 20px;
    width: 320px;
    color: $text-color;
    @media (max-width: 380px) {
      width: 100%;
      margin: 0;
    }
  }

  /* fix notifications dropdown when there is no enough vertical space*/

  @media (max-height: 500px) {
    .dropdown-menu{
      bottom: 20px;
    }

    .notifications{
      .panel-heading{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
      }

      .list-group{
        position: absolute;
        top: 85px;
        left: 0;
        right: 0;
        bottom: 43px;
        height: auto;
      }

      .panel-footer{
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
      }
    }
  }
}

.sidebar-labels{
  list-style: none;
  padding: $sidebar-padding-horizontal;
  padding-right: $sidebar-padding-horizontal + $sidebar-slim-scroll-width;
  font-size: $font-size-mini;
  > li{
    > a{
      color: $gray-lighter;
      text-decoration: none;
      font-weight: normal;

      .circle,
      .circle-o{
        position: relative;
        top: -2px;
        font-size: 9px;
        height: 12px;
        width: 12px;
        line-height: 12px;
        @include transition(margin-left $sidebar-transition-time ease-in-out);
      }

      .fa-circle{
        font-size: 11px;
        vertical-align: 1px;
        @include transition(margin-left $sidebar-transition-time ease-in-out);
      }

      .circle-o{
        top: 1px;
        left: 1px
      }

      .label-name{
        opacity: 1;
        @include transition(opacity $sidebar-transition-time ease-in-out);
      }

      .nav-collapsed &{
        .circle,
        .circle-o,
        .fa-circle{
          margin-left: 8px;
        }

        .label-name{
          opacity: 0;
        }
      }

      .nav-static &{
        @media (min-width: $screen-md-min) {
          .circle,
          .circle-o,
          .fa-circle{
            margin-left: 0;
            @include transition(none);
          }
          .label-name {
            opacity: 1;
            @include transition(none);
          }
        }
      }
    }

    + li {
      margin-top: $line-height-computed/2;
    }
  }
}

.sidebar-alerts{
  font-size: $font-size-mini;
  @include transition(opacity $sidebar-transition-time ease-in-out);
  opacity: 1;

  .nav-collapsed &{
    opacity: 0;
  }

  .nav-static &{
    @media (min-width: $screen-md-min) {
      opacity: 1;
      @include transition(none);
    }
  }
  .alert{
    margin-bottom: 0;
    padding: $line-height-computed/2 $sidebar-padding-horizontal;
    padding-right: $sidebar-padding-horizontal + $sidebar-slim-scroll-width;

    .close{
      font-size: 16px;
      text-shadow: none;
      opacity: 1;
      color: $sidebar-color;
    }
  }

  .progress{
    background-color: lighten($sidebar-bg-color, 10%);
  }
}

.chat-sidebar{
  position: fixed;
  top:0;
  bottom: 0;
  right: -$chat-sidebar-width;
  width: $chat-sidebar-width;
  background-color: $sidebar-bg-color;
  @include transition(right $sidebar-transition-time ease-in-out);
}

/* body tag is given this class */
.chat-sidebar-container{
  position: relative;
  &, .sidebar{
    left: 0;
    @include transition(left $sidebar-transition-time ease-in-out);
  }
  &.chat-sidebar-opened{
    &, .sidebar{
      left: -$chat-sidebar-width;
    }

    .chat-sidebar{
      right: 0;
    }
  }
}

.chat-sidebar-header{
  position: absolute;
  top: 0;
  padding: 10px;
  z-index: 3;
  background-color: $sidebar-bg-color;
}

.chat-sidebar-content{
  color: $sidebar-color;
}


.chat-sidebar-contacts{
  padding: 20px;
  left: -100%;
  @include transition(left .4s ease-in-out);
  &.open{
    left: 0;
  }
  .sidebar-nav-title{
    margin-left: 10px;
    margin-right: 10px;

    &:first-child{
      margin-top: 0;
    }

    .nav-collapsed &{
      opacity: 1;
    }
  }
}

.chat-sidebar-chat{
  right: -100%;
  padding-bottom: 54px; /*footer height*/
  background-color: $sidebar-bg-color;
  @include transition(right .2s ease-in-out);
  &.open{
    right: 0;
  }

  .title{
    margin-bottom: 0;
    > a{
      display: block;
      padding: $padding-large-vertical $padding-large-horizontal;
      background-color: rgba(255,255,255, .1);
      color: $gray-lighter;
      text-decoration: none;
    }
  }

  .message-list{
    list-style: none;
    padding-left: 0;
    padding-top: $line-height-computed/2;
  }

  .message{
    padding: 10px 20px;
    @include clearfix();
    > .thumb-sm{
      float: left;
    }

    &.from-me > .thumb-sm{
      float: right;
    }
  }

}

.message-body{
  .chat-sidebar-chat & {
    position: relative;
    margin-left: 50px;
    padding: 10px;
    font-size: $font-size-mini;
    font-weight: $font-weight-normal;
    background-color: $gray-lighter;
    color: $text-color;
    border-radius: $border-radius-base;

    &:before{
      right: 100%;
      top: 8px;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      border: 10px solid rgba(0,0,0,0);
      border-right-color: $gray-lighter;
    }
  }

  .chat-sidebar-chat .message.from-me &{
    margin-left: 0;
    margin-right: 50px;
    background-color: $brand-warning;
    color: $gray-dark;
    &:before{
      right: auto;
      left: 100%;
      border-right-color: rgba(0,0,0,0);
      border-left-color: $brand-warning;
    }
  }
}

.chat-sidebar-panel{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  padding-top: 100px;
}

.chat-sidebar-title{
  margin-left: 10px;
  margin-right: 10px;
  text-transform: uppercase;
  font-size: $font-size-larger;
  font-weight: $font-weight-normal;
}

.chat-sidebar-user-group{
  margin-top: 10px;
  .list-group-item{
    background-color: transparent;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 0;
    padding: 10px 20px;
    border: 0;
    color: $gray-lighter;
    border-radius: 0;

    &.active{
      &,
      &:focus,
      &:hover{
        background-color: rgba(255,255,255, .1);
        color: $brand-warning;
      }

      .badge{
        background-color: $brand-danger;
        color: $white;
      }

      .message-sender{
        font-weight: $font-weight-semi-bold;
      }
    }

    .circle-o{
      margin-top: 13px;
      font-size: 8px;
    }

    .fa-circle{
      font-size: 11px;
      line-height: 37px;
    }

    .badge{
      margin-top: 9px;
      margin-right: 6px;
      padding: 3px 5px;
    }
  }

  .thumb .status,
  .thumb-sm .status{
    border-color: $sidebar-bg-color;
  }

  a.list-group-item:hover{
    color: $gray-lighter;
    background-color: rgba(0,0,0,.15);
  }

  .message-preview{
    margin: 0;
    width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: $font-size-smaller;
    color: $text-muted;
  }

  .message-sender{
    margin: 0 0 5px;
  }
}

.chat-sidebar-footer{
  position: absolute;
  bottom: 0;
  right: -100%;
  width: 100%;
  margin-bottom: 0;
  padding: 10px;
  background-color: #3a3a3a;

  @include transition(right .2s ease-in-out);
  &.open{
    right: 0;
  }
}

.chat-notification{
  position: absolute;
  right: 0;
  top: 35px;
  z-index: 20;
  margin-top: 3px;
  padding: 5px 0;
  cursor: pointer;

  &:before{
    content: ' ';
    position: absolute;
    top: 0;
    right: 18px;
    width: 0;
    height: 0;
    border-left: 5px solid rgba(0, 0, 0, 0);
    border-right: 5px solid rgba(0, 0, 0, 0);
    border-bottom: 5px solid $gray-dark;
  }
}

.chat-notification-inner{
  min-width: 120px;
  padding: 8px;
  font-size: 12px;
  border-radius: $border-radius-base;
  text-decoration: none;
  background-color: $gray-dark;
  color: $white;

  .title{
    margin: 0;
    font-weight: $font-weight-semi-bold;
    line-height: 28px;

    .thumb-xs{
      vertical-align: -9px;
      margin-right: 5px;
    }
  }

  .text{
    margin-top: 5px;
    margin-bottom: 0;
    color: $gray-light;
  }
}

.chat-notification-scaffold{
  position: absolute;
  top: 15px;
  left: 11px;
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: $brand-danger;
}

.page-title{
  margin: 0 0 $line-height-computed;
}

.notifications{
  @media (min-width: $screen-sm-min) {
    width: 333px;
  }
  .list-group{
    height: 320px;
    overflow-y: scroll;
  }
  .list-group-item{
    @include transition(background-color .15s ease-in-out);
    &:hover{
      background-color: $list-group-hover-bg;
      .progress{
        background-color: $white;
      }
    }
    .progress{
      @include transition(background-color .15s ease-in-out);
    }
  }

  .btn-notifications-reload{
    color: $navbar-default-link-color;
  }
}


.hotbox {
  font-family: Arial,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  position: absolute;
  left: 0;
  top: 0;
  overflow: visible;

  .state{
    position: absolute;
    overflow: visible;
    display: none;

    .ring{
      .button{
        position: absolute;
        width: 50px;
        height: 50px;
        line-height: 50px;
        text-align:center;
        font-size: 14px;
        border-radius: 100%;
        box-shadow: 0 0 30px rgba(0,0,0,.3)
      }
    }


    .button{
        cursor: default;
        overflow: hidden;
        background: #F9F9F9;
    }

    .button.enabled{
          background: #fff;
    }

  }

  .state.main{display: block;}
}


.json-editor { 
  margin-left: 10px;
  padding: 20px;

  .expanded{

    >.item { 
      display: block !important;
    }
  } 


  .property,.value { 
    border: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 3px;
    margin-right: 2px;
  }
  span.property{
    display:block;
    width:150px;
    overflow:hidden;
  }
  .value{
    background-color: #ECF3C3;
    display:none;
  }

  .property { 
    
    background-color: #B1C639;
    color: white;
    font-weight: 500;
    text-shadow: 0px 0px 1px #555;
    font-size: 13px;
  }

  button.property { 
    width: 160px;
  }

  .editing { 
    border: 1px solid gray;
    outline: none;
  }

  .item { 
    line-height: 20px;
    margin-top: 2px;
    position: relative;
    clear:both;
  }

  .item:last-child { 
    border-bottom: none;
  }

  .item > .item { 
    margin-left: 30px;
    display: none;
  }

  .item.expanded > .item { 
    display: block;
  }

  .menuer { 
    width: 16px;
    height: 11px;
    display: inline-block;
    position:absolute;
    left:-35px;
    top:5px;
    cursor: pointer;
    color:#bbb;
  }

  .menuer:hover{
    color:#000;
  }


  .checker { 
    width: 16px;
    height: 11px;
    display: inline-block;
    position:absolute;
    left:180px;
    top:5px;
    cursor: pointer;
  }


  .change-type { 
    display: inline-block;
    position:absolute;
    right:10%;
    top:0;
    cursor: pointer;
    line-height:26px;
    color:#bbb;
  }

  .itype{
    padding:0 5px;
  }

  .change-type:hover .type-items{
    display:block !important;
  }

  .type-items{
    position:absolute;
    left:0;
    top:26px;
    display:none;
    background-color:#fff;
    z-index:9;

  }

  .type-items a{
    line-height:26px;
    padding:0 5px;
    display:block;
  }

  .expander { 
    background: url("") no-repeat center center;
    width: 16px;
    height: 11px;
    display: inline-block;
    z-index:9;
    cursor: pointer;
    position:absolute;
    left:-15px;
    top:7px;
  }

  .item.expanded > .expander { 
    background: url("") no-repeat center center;
  }

  .item.appender > .property { 
     background-color: #ea9609; 
     cursor: pointer;
     width: 150px;
     position:relative;
  }
  .item.appender > .property:before { 
     content:"+";
     width:20px;
     height:20px;
     position:absolute;
     left:2px;
     top:4px;
     font-size:18px;
  }
  .item.boolean >.property { background-color: #8fc320; }
  .item.string > .property { background-color: #12b5b0; }
  .item.array  > .property { background-color: #c490c0; }
  .item.object > .property { background-color: #eb6876; }
  .item.number > .property { background-color: #32b16c; }
  .item.null > .property { background-color:#cfcfcf;width:150px;color:#938f90;text-shadow:none; }
  .item:after{
    position:absolute;
    left:134px;
    top:0;
    color:#fff;
    line-height:26px;
    width:20px;
    text-align:center;
    border-radius:0 4px 4px 0;
  }
  .item.string:after{
    content:"S";
    background-color:#5bcbcc;
  }
  .item.array:after{
    content:"A";
    background-color: #d7b2d3;
  }
  .item.object:after{
    content:"O";
    background-color: #f1989e;
  }
  .item.number:after{
    content:"N";
    background-color: #71c999;
  }
  .item.boolean:after{
    content:"B";
    background-color:#afd663;
  }

 
}

.bipartite-view.json-editor .appender{
  display:none !important;
}

.bipartite-view.json-editor .change-type{
  display:none !important;
}

.bipartite-view.json-editor .menuer{
  display:none !important;
}


.import-div{
  h4{
    position:relative;

    span.fa-edit{
      padding:0 5px;
      cursor:pointer;
    }
  }
  textarea {
    margin-bottom:10px;
  }
}



div.jsoneditor-contextmenu-root-treeedit {
    position: relative;
    width: 0;
    height: 0;
    left:-36px;
    top:20px;
}

div.jsoneditor-contextmenu {
    position: absolute;
    box-sizing: content-box;
    z-index: 99999
}

div.jsoneditor-contextmenu li,div.jsoneditor-contextmenu ul {
    box-sizing: content-box
}

div.jsoneditor-contextmenu ul {
    position: relative;
    left: 0;
    top: 0;
    width: 124px;
    background: #fff;
    border: 1px solid #d3d3d3;
    box-shadow: 2px 2px 12px rgba(128,128,128,.3);
    list-style: none;
    margin: 0;
    padding: 0
}

div.jsoneditor-contextmenu ul li button {
    padding: 0;
    margin: 0;
    width: 124px;
    height: 24px;
    border: none;
    cursor: pointer;
    color: #4d4d4d;
    background: 0 0;
    font-size: 10pt;
    font-family: arial,sans-serif;
    box-sizing: border-box;
    line-height: 26px;
    text-align: left
}


#auto,#codeEditor,#treeEditor,div.jsoneditor-menu {
    -moz-box-sizing: border-box
}

div.jsoneditor-contextmenu ul li button::-moz-focus-inner {
    padding: 0;
    border: 0
}

div.jsoneditor-contextmenu ul li button:focus,div.jsoneditor-contextmenu ul li button:hover {
    color: #1a1a1a;
    background-color: #f5f5f5;
    outline: 0
}

div.jsoneditor-contextmenu ul li button.jsoneditor-default {
    width: 92px
}

div.jsoneditor-contextmenu ul li button.jsoneditor-expand {
    float: right;
    width: 32px;
    height: 24px;
    border-left: 1px solid #e5e5e5
}

div.jsoneditor-contextmenu div.jsoneditor-icon {
    float: left;
    width: 24px;
    height: 24px;
    border: none;
    padding: 0;
    margin: 0;
    background-image: url(../svg/jsoneditor-icons.svg);
    background-position:-72px -24px;
}

div.jsoneditor-contextmenu ul li button div.jsoneditor-expand {
    float: right;
    width: 24px;
    height: 24px;
    padding: 0;
    margin: 0 4px 0 0;
    background: url(../svg/jsoneditor-icons.svg) 0 -72px;
    opacity: .4
}

div.jsoneditor-contextmenu ul li button.jsoneditor-expand:focus div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button.jsoneditor-expand:hover div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button:focus div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button:hover div.jsoneditor-expand,div.jsoneditor-contextmenu ul li.jsoneditor-selected div.jsoneditor-expand {
    opacity: 1
}

div.jsoneditor-contextmenu div.jsoneditor-separator {
    height: 0;
    border-top: 1px solid #e5e5e5;
    padding-top: 5px;
    margin-top: 5px
}

div.jsoneditor-contextmenu ul li ul li button {
    padding-left: 8px;
    animation: all ease-in-out 1s
}

div.jsoneditor-contextmenu ul li ul li button:focus,div.jsoneditor-contextmenu ul li ul li button:hover {
    background-color: #f5f5f5
}

div.jsoneditor-contextmenu button.jsoneditor-type-modes>div.jsoneditor-icon {
    background-image: none;
    width: 6px
}

div.jsoneditor-menu {
    width: 100%;
    height: 35px;
    padding: 2px;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    border-bottom: 1px solid #3883fa
}

div.jsoneditor-menu>button,div.jsoneditor-menu>div.jsoneditor-modes>button {
    width: 26px;
    height: 26px;
    margin: 2px;
    padding: 0;
    border-radius: 2px;
    border: 1px solid transparent;
    color: #fff;
    opacity: .8;
    font-family: arial,sans-serif;
    font-size: 10pt;
    float: left
}

div.jsoneditor-menu>button:hover,div.jsoneditor-menu>div.jsoneditor-modes>button:hover {
    background-color: rgba(255,255,255,.2);
    border: 1px solid rgba(255,255,255,.4)
}

div.jsoneditor-menu>button:active,div.jsoneditor-menu>button:focus,div.jsoneditor-menu>div.jsoneditor-modes>button:active,div.jsoneditor-menu>div.jsoneditor-modes>button:focus {
    background-color: rgba(255,255,255,.3)
}

div.jsoneditor-menu>button:disabled,div.jsoneditor-menu>div.jsoneditor-modes>button:disabled {
    opacity: .5
}

div.jsoneditor-contextmenu ul li button.jsoneditor-selected,div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus,div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover {
    color: #fff;
    background-color: #ee422e
}

div.jsoneditor-contextmenu ul li ul {
    display: none;
    position: relative;
    left: 0;
    top: 0;
    border: none;
    box-shadow: inset 0 0 10px rgba(128,128,128,.5);
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.tree-tips{
  overflow:hidden;
  padding:10px 20px;
  background-color:#fafafa;
  border:1px solid #eee;
  .tip{
    display:inline-block;
    float:left;
    padding-left:21px;
    padding-right:25px;
    position:relative;
    height:24px;
    line-height:24px;
  }
  .tip:before{
    position:absolute;
    width:18px;
    height:20px;
    display:block;
    color:#fff;
    left:0;
    top:0;
    text-align:center;
    line-height:20px;
    border-radius:3px;
  }
  .string:before{background-color:#13b6b1; content:"S";}
  .object:before{background-color:#ec6875;content:"O";}
  .number:before{background-color:#31b36d;content:"N";}
  .array:before{background-color:#c293c1;content:"A";}
  .boolean:before{background-color:#8ec31d;content:"B";}
  .other:before{background-color:#89abd9;content:""}

  .tip.clash{
    padding-left:40px;

    >span{
      width:12px;
      height:12px;
      position:absolute;
      display:block;
      left:5px;
      top:4px;
      background-color:#fe3315;
      z-index:2;
    }
  }
  .clash:before{background-color:#000;content:"";width:35px;z-index:1;}
  .tip.success{
    padding-left:47px;
  }
  .success:before{
    width:41px;
    height:7px;
    background-color:#23ac38;
    content:"";
    top:8px;
  }

  .tip.show-clash{
    padding-left:47px;
  }
  .show-clash:before{
    width:41px;
    height:7px;
    background-color:#e70012;
    content:"";
    top:8px;
  }

}

.tree-wrap{
  padding:20px;
  border:1px solid #eee;
}

.tree-container{
  position:relative;
  padding-top:50px;
  padding-bottom:30px;
  margin-top:15px;
  clear:both;
  float:left;
  width:100%;

  h4, .title{
    margin:0;
    line-height:45px;
    padding-left:25px;
    font-size:1em;
    font-weight: bold;
  }

  .tree-bg-left{
    left:0;
    top:0;
    bottom:0;
    width:49%;
    position:absolute;
    background-color:#f7f7f7;

    h4{
      background-color:#ebebeb;
      border-bottom:1px solid #e0e0e0;
    }

  }

  .tree-bg-right{
    width:49%;
    right:0;
    top:0;
    bottom:0;
    position:absolute;
    background-color:#f7f7f7;

    h4{
      background-color:#e0e0e0;
      border-bottom:1px solid #cecece;
    }
  }

  .treeview{
    position:relative;
    width:675px;
    margin-left:auto;
    margin-right:auto;
  }
}



.relation-svg{
  position:absolute;
  right:0;
  top:0;
  left:0;
  bottom:0;
  width:100%;
  height:100%;
  
}

